...
lcEventSetProc( LC_EVENT_MOUSEMOVE, EventProc, 0, 0 );
lcEventSetProc( LC_EVENT_LBDOWN, EventProc, 0, 0 );
...
//-----------------------------------------------
void CALLBACK EventProc (HANDLE hEvent)
{
int EventType;
EventType = lcPropGetInt( hEvent, LC_PROP_EVENT_TYPE );
switch( EventType ){
...
case LC_EVENT_MOUSEMOVE: OnMouseMove( hEvent ); break;
case LC_EVENT_LBDOWN: OnLBDown( hEvent ); break;
...
}
}
double Xcur = 0.0;
double Ycur = 0.0;
//-----------------------------------------------
void OnLBDown (HANDLE hEvent)
{
HANDLE hLcWnd;
double X, Y;
int WndW, WndH;
WCHAR szText[64];
// graphics window handle
hLcWnd = lcPropGetHandle( hEvent, LC_PROP_EVENT_WND );
// get window size (pixels)
WndW = lcPropGetInt( hLcWnd, LC_PROP_WND_WIDTH );
WndH = lcPropGetInt( hLcWnd, LC_PROP_WND_HEIGHT );
// cursor coordinates (drawing coordinate space)
X = lcPropGetFloat( hEvent, LC_PROP_EVENT_FLOAT1 );
Y = lcPropGetFloat( hEvent, LC_PROP_EVENT_FLOAT2 );
swprintf( szText, L" X=%.2f Y=%.2f ", X, Y );
Xcur = X;
Ycur = Y;
// draw text at left bottom corner of the window
lcWndHoverText( hLcWnd, szText, 10, WndH-10, LC_TA_LEFBOT );
}
//-----------------------------------------------
void OnMouseMove (HANDLE hEvent)
{
HANDLE hLcWnd;
double X, Y;
hLcWnd = lcPropGetHandle( hEvent, LC_PROP_EVENT_WND );
X = lcPropGetFloat( hLcWnd, LC_PROP_WND_CURX );
Y = lcPropGetFloat( hLcWnd, LC_PROP_WND_CURY );
...
if (X!=Xcur || Y!=Ycur){
// hide hover text
lcWndHoverText( hLcWnd, L"", 0, 0, 0 );
}
}